$('#carouselPage').live("pagebeforecreate",function(){
	resizeContent();

});

var resizeContent=function(){
	var contentWidth = $(window).width();
	var parentWidth = contentWidth * $('#carouselView').children().length;
	$('#carouselView').css('width',parentWidth);	
	$('#carouselView').children().each(function(index, value) {
		$(value).css('width',contentWidth);
		$(value).css('left','-' + currentPage * contentWidth + 'px');
	})
}

$(window).resize(function() {
	resizeContent();
});
var currentPage = 0;

$('#carouselPage').live("pageinit",function(){
	var prevPage = 0;
	
	$('#carouselDotView').live('click',function(event){
		var spanElemIndex = $(event.target).index();
		goToPage(spanElemIndex);		
	});
	
	$('div[data-role=page]').live('swipeleft',function(event){
		if(isNextPageAvailable(currentPage)){
		    goToPage(currentPage+1);
		}
	});
	
	$('div[data-role=page]').live('swiperight',function(event){
		 if(isPrevPageAvailable(currentPage)){
		    goToPage(currentPage-1);
		}
	});
	
	var goToPage = function(targetPage){
        if(targetPage > currentPage){
			$('#carouselView').children().each(function(index, value) {
				$(value).animate({left: '-='+(targetPage - currentPage) * $(value).width()}, 200, 'linear');
			})
        }
		else if(targetPage < currentPage) {
            $('#carouselView').children().each(function(index, value) {
				$(value).animate({left: '+='+(currentPage - targetPage) * $(value).width()}, 200, 'linear');
			})
		}		
		prevPage = currentPage;
		currentPage = targetPage;
		$('#carouselDotView').children().eq(prevPage).removeClass('current');
        $('#carouselDotView').children().eq(currentPage).addClass('current');
	};
	
	var isNextPageAvailable = function(index){
		var nextpage = $('#carouselView').children().eq(index).next('div');
		if($(nextpage).length > 0) {
			return true;
		}
		else {
			return false;
		}
	};
	
	var isPrevPageAvailable = function(index) {
		var prevpage = $('#carouselView').children().eq(index).prev('div')
		if($(prevpage).length > 0) {
			return true;
		}
		else {
			return false;
		}
	};	
	
});


function validateEmail (emailStr) {
    var emailPat=/^(.+)@(.+)$/
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars="\[^\\s" + specialChars + "\]"
    var quotedUser="(\"[^\"]*\")"
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom=validChars + '+'
    var word="(" + atom + "|" + quotedUser + ")"
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


    var matchArray=emailStr.match(emailPat)
    if (matchArray==null) {
        alert("El email ingresado es incorrecto. Verifíquelo.")
        return false
    }
    var user=matchArray[1]
    var domain=matchArray[2]

    if (user.match(userPat)==null) {
        alert("El texto a la izquierda del @ no parece ser válido. Verifíquelo.")
        return false
    }

    var IPArray=domain.match(ipDomainPat)
    if (IPArray!=null) {
          for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                alert("La IP destino es inválida.")
            return false
            }
        }
        return true
    }

    var domainArray=domain.match(domainPat)
    if (domainArray==null) {
        alert("El dominio no parece ser válido. Verifíquelo.")
        return false
    }

    var atomPat=new RegExp(atom,"g")
    var domArr=domain.match(atomPat)
    var len=domArr.length
    if (domArr[domArr.length-1].length<2 || 
        domArr[domArr.length-1].length>3) {
       alert("La dirección debe finalizar con tres letras del dominio o dos letras del país.")
       return false
    }

    if (len<2) {
       var errStr="Este email carece de dominio."
       alert(errStr)
       return false
    }

    return true;
}

function btnEnviarEmail() {
    var sEmail = $('#txtEmail').val();


    if (!(validateEmail(sEmail))){
            return false;
    }

    $('#btn_enviar_email').hide();
    $('#btn_procesando').show();

    // Envio el Email
    $.ajax({ 
        type: 'GET',
        url: url_accesso + '/feedbacks/emailmobile/'+sEmail,
        dataType :"jsonp",
        jsonp: false,
        jsonpCallback: "hcejson",
        success : function(data){
            $('#msg_respuesta').show();
            $('#msg_respuesta').html(data.mensaje);

            $('#btn_procesando').hide();
        },
        error : function(httpReq,status,exception){
            console.log(status+" "+exception);

            $('#msg_respuesta').show();
            $('#msg_respuesta').html("Se ha detectado un error en el proceso. Intente luego");

			$('#btn_enviar_email').show();
			$('#btn_procesando').hide();
        }
    });
    
}